package org.lboot.flow.module.work.params;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.lboot.flow.module.work.FlowWork;

import javax.persistence.Column;
import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * @author kindear
 * 流程启动参数
 */
@Data
@ApiModel(value = "流程启动参数")
public class FlowStartParams {

    @NotBlank(message = "流程定义编码不可为空")
    @ApiModelProperty("流程定义编码")
    String flowCode;

    // 如果存在，覆盖默认的
    @ApiModelProperty("流程名称")
    String flowName;

    @NotBlank(message = "流程发起人不可为空")
    @ApiModelProperty("流程发起者ID")
    String initiator;

    @ApiModelProperty(value = "流程参数",name = "")
    String flowParam;


    @ApiModelProperty(value = "根流程ID")
    String rootFlowId;

    /**
     * 关联的业务ID
     */
    @ApiModelProperty("业务ID")
    String businessId;
    /**
     * 关联的业务名称
     */
    @ApiModelProperty("业务名称")
    String businessName;
    /**
     * 业务类型
     */
    @ApiModelProperty("业务类型")
    String businessType;




    // 过期时间交给不同的流程节点进行控制
//    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
//    @ApiModelProperty(value = "流程实例到期时间",notes = "")
//    Date expireDate;
}
